home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micromail 103 / MicroMail.jar / MessageList.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-07  |  4.2 KB  |  124 lines

  1. import java.io.IOException;
  2. import javax.microedition.lcdui.Command;
  3. import javax.microedition.lcdui.CommandListener;
  4. import javax.microedition.lcdui.Displayable;
  5. import javax.microedition.lcdui.Image;
  6. import javax.microedition.lcdui.List;
  7. import javax.microedition.lcdui.Screen;
  8.  
  9. public class MessageList extends List implements CommandListener {
  10.    private MicroMail midlet;
  11.    private Displayable parent;
  12.    int activeBoxId;
  13.    private Image imageUnread = null;
  14.    private String imageUnreadName = "/images/EmailUnread.png";
  15.    private String imageReadName = "/images/EmailRead.png";
  16.    private Image imageRead = null;
  17.    Command backCommand = new Command(Resource.getText(1), 2, 4);
  18.    Command downloadCommand = new Command(Resource.getText(9), 1, 1);
  19.    Command sendallCommand = new Command(Resource.getText(10), 1, 1);
  20.    Command newCommand = new Command(Resource.getText(11), 1, 2);
  21.    Command deleteCommand = new Command(Resource.getText(3), 1, 3);
  22.    Command deleteAllCommand = new Command(Resource.getText(51), 1, 4);
  23.  
  24.    public MessageList(MicroMail var1, int var2) {
  25.       super(MessageHandler.getBoxName(var2) + "(" + MicroCache.getBoxSize(var2) + ")", 3);
  26.       this.midlet = var1;
  27.       this.activeBoxId = var2;
  28.  
  29.       try {
  30.          this.imageUnread = Image.createImage(this.imageUnreadName);
  31.          this.imageRead = Image.createImage(this.imageReadName);
  32.       } catch (IOException var4) {
  33.       }
  34.  
  35.       ((Displayable)this).setCommandListener(this);
  36.       if (var2 == 1) {
  37.          ((Displayable)this).addCommand(this.downloadCommand);
  38.       } else if (var2 == 2) {
  39.          ((Displayable)this).addCommand(this.newCommand);
  40.          ((Displayable)this).addCommand(this.sendallCommand);
  41.       }
  42.  
  43.       ((Displayable)this).addCommand(this.backCommand);
  44.       ((Displayable)this).addCommand(this.deleteCommand);
  45.       ((Displayable)this).addCommand(this.deleteAllCommand);
  46.       this.displayMessageList(var2);
  47.       System.gc();
  48.    }
  49.  
  50.    public void appendItem(String var1) {
  51.       ((List)this).append(var1, this.imageUnread);
  52.    }
  53.  
  54.    public void commandAction(Command var1, Displayable var2) {
  55.       MicroMail.mainScreen.setButtonReleased(true);
  56.       if (var1 == this.backCommand) {
  57.          MicroMail.display.setCurrent(MicroMail.mainScreen);
  58.          MicroMail.dispose(this);
  59.       } else if (var1 == this.downloadCommand) {
  60.          ProgressForm var3 = new ProgressForm(this.midlet, true);
  61.          MicroMail.display.setCurrent(var3);
  62.          MicroMail.dispose(this);
  63.       } else if (var1 == this.sendallCommand) {
  64.          ProgressForm var5 = new ProgressForm(this.midlet, false);
  65.          MicroMail.display.setCurrent(var5);
  66.          MicroMail.dispose(this);
  67.       } else if (var1 == this.newCommand) {
  68.          MessageForm var6 = new MessageForm(this.midlet, this, (Message)null, -1);
  69.          MicroMail.display.setCurrent(var6);
  70.       } else if (var1 == this.deleteCommand) {
  71.          int var7 = ((List)this).getSelectedIndex();
  72.          if (var7 > -1) {
  73.             Message var4 = MicroCache.getMessage(this.activeBoxId, var7);
  74.             MicroCache.deleteMessage(this.activeBoxId, var7, var4);
  75.             this.deleteItem(var7);
  76.             Object var9 = null;
  77.          }
  78.       } else if (var1 == this.deleteAllCommand) {
  79.          MicroCache.deleteBox(this.activeBoxId);
  80.          MicroMail.display.setCurrent(MicroMail.mainScreen);
  81.          MicroMail.dispose(this);
  82.       } else if (var1.equals(List.SELECT_COMMAND)) {
  83.          int var8 = ((List)this).getSelectedIndex();
  84.          if (var8 > -1) {
  85.             MessageDetails var10 = new MessageDetails(this.midlet, this, this.activeBoxId, var8);
  86.             MicroMail.display.setCurrent(var10);
  87.          }
  88.       }
  89.  
  90.    }
  91.  
  92.    public void deleteItem(int var1) {
  93.       ((List)this).delete(var1);
  94.       ((Screen)this).setTitle(MessageHandler.getBoxName(this.activeBoxId) + "(" + MicroCache.getBoxSize(this.activeBoxId) + ")");
  95.    }
  96.  
  97.    public int displayMessageList(int var1) {
  98.       byte var2 = 0;
  99.       int var3 = MicroCache.getBoxSize(var1);
  100.       MicroCache.refreshMessageList(var1);
  101.       if (MicroCache.getBoxSize(var1) > 0) {
  102.          for(int var5 = 0; var5 < var3; ++var5) {
  103.             MessageListItem var4 = MicroCache.getMessageListItem(var1, var5);
  104.             if (var4.unread) {
  105.                ((List)this).append(var4.subject, this.imageUnread);
  106.             } else {
  107.                ((List)this).append(var4.subject, this.imageRead);
  108.             }
  109.          }
  110.       }
  111.  
  112.       return var2;
  113.    }
  114.  
  115.    public void updateItem(int var1, String var2, boolean var3) {
  116.       if (var3) {
  117.          ((List)this).set(var1, var2, this.imageRead);
  118.       } else {
  119.          ((List)this).set(var1, var2, this.imageUnread);
  120.       }
  121.  
  122.    }
  123. }
  124.